package com.zp.self.module.level_4_算法练习.脑筋急转弯;

/**
 * @author By ZengPeng
 */
public class 力扣_598_范围求和II {
    //测试
    public static void main(String[] args) {

        System.out.println(new 力扣_598_范围求和II().maxCount(3,3,new int[][]{{2,2},{3,3}}));
    }

    /**
    题目：给你一个 m x n 的矩阵 M ，初始化时所有的 0 和一个操作数组 op ，其中 ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai 和 0 <= y < bi 时， M[x][y] 应该加 1。
     在 执行完所有操作后 ，计算并返回 矩阵中最大整数的个数 。

     示例 1:
     输入: m = 3, n = 3，ops = [[2,2],[3,3]]
     输出: 4
     解释: M 中最大的整数是 2, 而且 M 中有4个值为2的元素。因此返回 4。

     示例 2:
     输入: m = 3, n = 3, ops = [[2,2],[3,3],[3,3],[3,3],[2,2],[3,3],[3,3],[3,3],[2,2],[3,3],[3,3],[3,3]]
     输出: 4

     示例 3:
     输入: m = 3, n = 3, ops = []


    分析：【P 💛】
       1.脑筋急转弯： 直接判断最小值
       --执行用时：0 ms, 在所有 Java 提交中击败了100.00%的用户
    边界值 & 注意点：
       1.
     **/
    public int maxCount(int m, int n, int[][] ops) {
        for (int i = 0; i < ops.length; i++) {
            m = Math.min(m,ops[i][0]);
            n = Math.min(n,ops[i][1]);
            if(m==1 && n==1)return 1;
        }
        return m*n;
    }
}
